package com.arpa.wms.service;

import com.arpa.wms.domain.dto.CollectDTO;
import com.arpa.wms.domain.dto.CollectExcelDTO;
import com.arpa.wms.domain.entity.Collect;
import com.arpa.wms.domain.vo.CollectVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 领用单 服务类接口
 * @author jinss
 * @date 2020-08-20 14:15:00
 **/
public interface ICollectService extends IService<Collect> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(Collect entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(Collect entity);

    /**
     * 查询列表
     * @param collectDTO
     * @return
     */
    List<CollectVO> queryList(CollectDTO collectDTO);

    /**
     * 查询合计,包含总数
     * @param collectDTO
     * @return
     */
    CollectVO queryListSum(CollectDTO collectDTO);

    /**
     * 根据编码获取领用单
     * @param code
     * @return
     */
    CollectVO getOneByCode(String code);

    /**
     * 删除领用单
     * @param codes
     * @return
     */
    boolean remove(List<String> codes);

    /**
     * 审核 领用单
     * @param collect
     * @return
     */
    int audit(Collect collect);

    /**
     * 更新 领用单状态
     * @param code
     * @param status
     * @return
     */
    int updateStatusByCode(String code, String status);

    /**
     * 导入数据回显
     * @param collectExcelDTOList
     * @return
     */
    List<CollectExcelDTO> collectView(List<CollectExcelDTO> collectExcelDTOList);

    /**
     * 导入数据
     */
    void collectImport();
}
